home *** CD-ROM | disk | FTP | other *** search
/ Resource for Source: C/C++ / Resource for Source - C-C++.iso / misc_src / cslib16b / include / cstaba.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-01  |  2.4 KB  |  69 lines

  1. /***********************************************************************
  2.  
  3.                                       CSDB Library, Version 1.6.b 
  4.                                          Released: March 2nd 1995 
  5.  
  6.        Extension on an array.
  7.  
  8.                                            Copyright(c) 1994,1995 
  9.                                                            Combis 
  10.                                                   The Netherlands 
  11. ***********************************************************************/
  12.  
  13. #ifndef __CSTABA_H
  14. #define __CSTABA_H
  15.  
  16. #include "cstable.h"
  17. #include "csarray.h"
  18.  
  19. #pragma warn -sig
  20.  
  21. class TABLEa: public TABLE, public ARRAY
  22. {
  23.   public:
  24.  
  25.       void name(CSCHAR *s);
  26.       void zap(void)        { ARRAY::zap(); TABLE::zap(); }
  27.       void size(size_t nr)  { ARRAY::size(max(nr,256U));   }
  28.       void open(void)        { TABLE::open(); }
  29.       void close(void)        { TABLE::close(); }
  30.       void insert(long key,void *d)
  31.       { if(key<=nr_lin) { ARRAY::insert(key,d); }
  32.         else        { TABLE::insert(key,d); } }
  33.       void insert(long key,void *d,void ** &add)
  34.       { if(key<=nr_lin) { ARRAY::insert(key,d,add); }
  35.         else        { TABLE::insert(key,d,add); } }
  36.       void insert(long key,long d)
  37.       { if(key<=nr_lin) { ARRAY::insert(key,d); }
  38.         else        { TABLE::insert(key,d); } }
  39.       void insert(long key,long d,long * &add)
  40.       { if(key<=nr_lin) { ARRAY::insert(key,d,add); }
  41.         else        { TABLE::insert(key,d,add); } }
  42.       void delet(long key)
  43.       { if(key>nr_lin) TABLE::delet(key);
  44.         else       ARRAY::delet(key); }
  45.       int search(long key,void * &d)
  46.       { if(key<=nr_lin) { ARRAY::search(key,d); return TRUE; }
  47.         else        { return TABLE::search(key,d); } }
  48.       int search(long key,void * &d,void ** &add)
  49.       { if(key<=nr_lin) { ARRAY::search(key,d,add); return TRUE; }
  50.         else        { return TABLE::search(key,d,add); } }
  51.       int search(long key,long &d)
  52.       { if(key<=nr_lin) { ARRAY::search(key,d);  return TRUE; }
  53.         else        { return TABLE::search(key,d); } }
  54.       int search(long key,long &d,long * &add)
  55.       { if(key<=nr_lin) { ARRAY::search(key,d,add); return TRUE; }
  56.         else        { return TABLE::search(key,d,add); } }
  57.       void empty(void)        { ARRAY::empty(); TABLE::empty(); }
  58.       long export(FILE *fp,long nr);
  59.       long import(FILE *fp,long number);
  60.       int  report(CSCHAR *name,int sub=10);
  61.       void report(FILE *fipo,int sub=10);
  62.  
  63.  
  64. };
  65.  
  66. #pragma warn .sig
  67.  
  68. #endif
  69.